package com.transaction.demo.base.biz.impl;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.transaction.demo.base.biz.SysScanLoginBiz;
import com.transaction.demo.base.dao.SysScanLoginDao;
import com.transaction.demo.base.entity.SysScanLoginBean;
import com.transaction.demo.base.vo.req.SysScanLoginAddReqVo;
import com.transaction.demo.base.vo.req.SysScanLoginListReqVo;
import com.transaction.demo.base.vo.req.SysScanLoginReqVo;
import com.transaction.demo.base.vo.req.SysScanLoginUpdateReqVo;
import com.transaction.demo.base.vo.resp.SysScanLoginRespVo;
import com.transaction.demo.common.util.ResultPage;

/**
 * 描述：手机扫码秘匙对
 * 作者：马庆智
 * 日期：2023/03/28 17:07:14
 */
@Service
public class SysScanLoginBizImpl implements SysScanLoginBiz {

	@Autowired
	private SysScanLoginDao sysScanLoginDao;

	/**
	 * 查询手机扫码秘匙对
	 *
	 * @param sysScanLogin 请求参数
	 * @return SysScanLoginResp
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	@Override
	public SysScanLoginRespVo querySysScanLogin(SysScanLoginReqVo sysScanLogin) {

		SysScanLoginBean query = sysScanLoginDao.querySysScanLogin(SysScanLoginBean.builder().build());

		return SysScanLoginRespVo.builder().build();
	}

	/**
	 * 查询手机扫码秘匙对列表
	 *
	 * @param sysScanLogin 请求参数
	 * @return SysScanLoginResp
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	@Override
	public ResultPage<SysScanLoginRespVo> querySysScanLoginList(SysScanLoginListReqVo sysScanLogin) {

		PageHelper.startPage(sysScanLogin.getCurrent(), sysScanLogin.getPageSize());
		List<SysScanLoginBean> query = sysScanLoginDao.querySysScanLoginList(SysScanLoginBean.builder().build());
		PageInfo<SysScanLoginBean> pageInfo = new PageInfo<>(query);

		List<SysScanLoginRespVo> list = pageInfo.getList().stream().map(x -> {
			SysScanLoginRespVo resp = new SysScanLoginRespVo();
			BeanUtils.copyProperties(x, resp);
			return resp;
		}).collect(Collectors.toList());

		return new ResultPage<>(list, pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal());

	}

	/**
	 * 添加手机扫码秘匙对
	 *
	 * @param sysScanLogin 请求参数
	 * @return int
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	@Override
	public int saveSysScanLogin(SysScanLoginAddReqVo sysScanLogin) {

		return sysScanLoginDao.saveSysScanLogin(SysScanLoginBean.builder().build());
	}

	/**
	 * 删除手机扫码秘匙对
	 *
	 * @param ids 请求参数
	 * @return int
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	@Override
	public int deleteSysScanLogin(String ids) {
		return sysScanLoginDao.deleteSysScanLogin(
				Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList()));
	}

	/**
	 * 更新手机扫码秘匙对
	 *
	 * @param sysScanLogin 请求参数
	 * @return int
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	@Override
	public int updateSysScanLogin(SysScanLoginUpdateReqVo sysScanLogin) {

		return sysScanLoginDao.updateSysScanLogin(SysScanLoginBean.builder().build());
	}

}